Software-defined networking (SDN) is a network architecture in which network control plane and policies are decoupled from network infrastructure and client devices, and placed in a logically centralized controller. SDN allows an administrator to orchestrate and automate control of network services, such as network components and applications through abstraction of a lower level functionality. An SDN controller in the SDN network makes decisions about how network traffic is processed by instructing devices within the SDN network to define forwarding behavior of data packets traveling across the SDN network to control and coordinate functionality such as traffic path, quality-of-service (QoS) and security, while also extending network policies out to client devices according to policies set by high-level policy or business logic. SDN allows the administrator to have direct control over the entire network, and make changes quickly and efficiently.